草庐IT

python - 在 python 中创建命名管道

全部标签

python - Ruby 中的装饰器(从 Python 迁移)

我今天从Python的角度学习Ruby。我完全没能解决的一件事是装饰器的等价物。为了精简内容,我尝试复制一个简单的Python装饰器:#!/usr/bin/envpythonimportmathdefdocument(f):defwrap(x):print"Iamgoingtosquare",xf(x)returnwrap@documentdefsquare(x):printmath.pow(x,2)square(5)运行这个给我:Iamgoingtosquare525.0因此,我想创建一个函数square(x),但要对其进行装饰,以便它在执行之前提醒我它要对什么进行平方。让我们去掉糖

ruby - 在 Ruby 中创建一个线性嵌套哈希? (我来自 Perl)

我是一个Perl的人,我已经做了一段时间这样的哈希:my%date;#Assumethescalarsarecalledwith'my'earlier$date{$month}{$day}{$hours}{$min}{$sec}++现在我正在学习Ruby,到目前为止我发现使用这棵树是做很多键和一个值的方法。有什么方法可以只用一行来使用我在Perl中使用的简单格式吗?@date={month=>{day=>{hours=>{min=>{sec=>1}}}}} 最佳答案 不幸的是,没有简单实用的方法。一个Ruby等价物将是一个丑陋、丑陋

ruby - 具有命名捕获组的正则表达式在 Ruby 中获取所有匹配项

我有一个字符串:s="123--abc,123--abc,123--abc"我尝试使用Ruby1.9的新功能“命名组”来获取所有命名组信息:/(?\d*)--(?\s*)/是否有像Python的findall那样返回matchdata集合的API?在这种情况下,我需要返回两个匹配项,因为123和abc重复两次。每个匹配数据都包含每个命名捕获信息的详细信息,因此我可以使用m['number']获取匹配值。 最佳答案 命名捕获只适用于一个匹配结果。Ruby的findall类比是String#scan.您可以使用scan结果作为数组,或将

ruby-on-rails - Rails 3.1 管道 - 排除 Javascript 文件

我想从管道中排除一个特定的javascript文件(modernizr),因为我希望它单独加载。我想在开头加载Modernizr,并在末尾连接我的其余javascript。有没有办法在3.1的Assets管道中执行与要求相反的操作?IE。排除?提前致谢。亚当。 最佳答案 我选择通过更改来保留链轮的功能//=require_tree到//=require_directory.这会让sprockets自动加载同一目录中的任何文件,但不会进一步加载任何文件夹中的文件。这让我可以将Modernizr.js移动到assets/javascri

ruby-on-rails - rails Assets 管道 "Cannot allocate memory - nodejs"

我们刚刚从Rails3.0.7升级到Rails3.2.5,并为暂存服务器即时使用Assets管道编译,但有时我们会遇到这个异常!Showing/var/rails/appname/app/views/common/_my_partial.html.hamlwhereline#raised:Cannotallocatememory-nodejs/tmp/execjs20120613-17090-thoc8f.js2>&1Extractedsource(aroundline#):Traceoftemplateinclusion:app/views/layouts/application.h

ruby - 如何访问 Ruby 中的基本命名空间?

我正在File模块所在的命名空间中编写代码(在另一个模块中)我需要访问ruby​​File类。在php中,这可以这样完成:\File如何在ruby​​中做到这一点? 最佳答案 ::File前缀为::访问命名空间树的“根”。 关于ruby-如何访问Ruby中的基本命名空间?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/10064334/

ruby-on-rails - 使用 Carrierwave 重命名上传的文件

我正在使用Carrierwave上传文件,并且可以正常工作。我的问题是试图更改上传文件的名称。在生成的uploader.rb中有一个我认为我应该使用的方法deffilename"something.jpg"iforiginal_filenamebasename="what"+orginal_filenameiforiginal_filename,worksbasename=(0...8).map{65.+(rand(25)).chr}.joiniforiginal_filename#willcreatearandomnameforeachversion,e.g.theorginal,t

ruby-on-rails - 如何在 Ruby 中创建一个新的 Date 实例

如何在给定日期的IRB中创建一个新的日期对象。以下无效。1.9.3p194:053>require'active_support'=>true1.9.3p194:054>Date.new=>#1.9.3p194:055>Date.parse('12/01/2012')NoMethodError:undefinedmethod`parse'forDate:Classfrom(irb):551.9.3p194:055>Date.new('12/01/2012')ArgumentError:wrongnumberofarguments(1for0) 最佳答案

ruby - Ruby 结构中的命名参数

我是Ruby的新手,如果这是一个明显的问题,我深表歉意。我想在实例化一个Struct时使用命名参数,即能够指定Struct中的哪些项目获得什么值,并将其余的默认为nil。例如我想做的:Movie=Struct.new:title,:length,:ratingm=Movie.new:title=>'SomeMovie',:rating=>'R'这行不通。所以我想到了以下内容:classMyStruct'SomeMovie',:rating=>'R'这似乎工作得很好,但我不确定是否有更好的方法,或者我是否在做一些非常疯狂的事情。如果有人可以验证/分解这种方法,我将不胜感激。更新我最初在1

ruby - 有人可以解释 Ruby 在 block 中使用管道字符吗?

有人可以向我解释一下Ruby在block中使用管道字符吗?我知道它包含一个变量名称,它将在迭代时分配数据。但这叫什么?管道内可以有多个变量吗?还有什么我应该知道的吗?关于它的更多信息的任何好的链接?例如:25.times{|i|putsi} 最佳答案 大括号定义了一个匿名函数,称为block。管道之间的token是此block的参数。所需参数的数量取决于block的使用方式。每次评估block时,需要block的方法将根据调用它的对象传递一个值。它和定义一个方法一样,只是它不存储在接受block的方法之外。例如:defmy_prin